Solid-state drives (SSDs) have been developed as data storage apparatuses, each using NAND flash memories (hereinafter referred to as “flash memories” in some cases) that are rewritable nonvolatile memories.
In a write operation of the SSD, only a part of any cluster (for example, three sectors) may be rewritten (modified). This mode of writing data is occasionally called “read modify write (RMW).”
The cluster is an amount that of data can be logically accessed to a flash memory at a time. In most SSDs, one cluster is composed of a plurality of sectors, each being a physical access unit. For example, it is composed of eight sectors.
In the RMW mode, cluster data (i.e., one cluster of data) at an address to which data should be written is first read from a flash memory and is then saved in a buffer memory. When the data is read, error detection is performed on the data. If a read error occurs, it is corrected. The error correction needs a longer time than the error detection. If errors occur, the efficiency of data writing in the SSD will decrease at high probability.